package projetofinal.controle;

import java.text.SimpleDateFormat;
import java.util.Date;

import projetofinal.modelo.Lugar;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.ImageButton;

public class EditarLugar extends Activity {
	static final int RESULT_SALVAR = 1;
	static final int RESULT_EXCLUIR = 2;
	protected static long idCentro;
	protected static Repositorio repositorio;
	private Lugar lugar;
		
	private Intent it;
	
	private EditText campo_novo_lugar;
	private EditText campo_referencial;
	private EditText campo_info_adicionais;
	
	@Override
	protected void onCreate(Bundle icicle) {
		super.onCreate(icicle);
		
		Log.i("ciclo", getClassName() + ".onCreate() chamado: " + icicle);

		setContentView(R.layout.edita_lugar);		
		
		it = this.getIntent();
		repositorio = new Repositorio(getApplicationContext());
		
		long id_lugar = it.getLongExtra("idLugar", 0);
		lugar = repositorio.buscarLugar(id_lugar);
				
		campo_novo_lugar = (EditText) findViewById(R.id.edita_lugar);
		campo_novo_lugar.setText(lugar.getNomeLugar());
		
		campo_referencial = (EditText) findViewById(R.id.edita_referencia);
		campo_referencial.setText(lugar.getReferencial());
		
		campo_info_adicionais = (EditText) findViewById(R.id.edita_info_adicionais);
		campo_info_adicionais.setText(lugar.getInformacoes_adicionais());
					
		ImageButton btSalvar = (ImageButton) findViewById(R.id.btOKLugar);
		btSalvar.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View view) {
				salvarLugar();
			}
		});		
	}

	public void salvarLugar() {
		
		Date data = new Date(System.currentTimeMillis());    
		SimpleDateFormat formatarDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		
		Lugar novoLugar = new Lugar();
		
		novoLugar.setId(lugar.getId());
		novoLugar.setId_centro(lugar.getId_centro());
		novoLugar.setId_usuario(Login.idUsuario);
		novoLugar.setId_tipo(lugar.getId_tipo());
		novoLugar.setNomeLugar(campo_novo_lugar.getText().toString());
		novoLugar.setReferencial(campo_referencial.getText().toString());
		novoLugar.setInformacoes_adicionais(campo_info_adicionais.getText().toString());
		novoLugar.setLastmodified(formatarDate.format(data));
		
		salvarLugar(novoLugar);
		
		setResult(RESULT_OK, it);
		
		finish();
	}	

	protected void salvarLugar(Lugar lugar) {
		repositorio.atualizar(lugar, 1);
	}
	
	@Override
	public void onStart(){
		super.onStart();
		Log.i("ciclo", getClassName() + ".onStart() chamado.");
	}

    @Override
	protected void onResume(){
		super.onResume();
		Log.i("ciclo", getClassName() + ".onResume() chamado.");		
	}


    @Override
	public void onRestart(){
		super.onRestart();
		Log.i("ciclo", getClassName() + ".onRestart() chamado.");
	}
    
	@Override
	protected void onPause() {
		super.onPause();
		Log.i("ciclo", getClassName() + ".onPause() chamado.");
		
		setResult(RESULT_CANCELED);
		
		finish();			
	}

    @Override
	public void onStop(){
		super.onStop();
		Log.i("ciclo", getClassName() + ".onStop() chamado.");
	}
	
    @Override
	public void onDestroy(){
		super.onDestroy();
		Log.i("ciclo", getClassName() + ".onDestroy() chamado.");		

        repositorio.fechar();    
    }
	
	private String getClassName(){
		String s = getClass().getName();
		return s.substring(s.lastIndexOf("."));
	}
	
}
